#定义一个商品的父类
class Goods:
    def __init__(self):
        self.name='商品'

    def fn(self):
        print('商品类')

    def __str__(self):
        return self.name


class Phone(Goods):
    def __init__(self): #所有的方法都可以重写 ,也包括魔术方法
        self.name='手机'

    def fn(self):
        print('手机类')  #覆盖式重写 不想要父类fn方法的商品类 可以直接在子类方法类里重写

    def __str__(self):
        return '哈哈哈哈' #重写str方法

phone1=Phone()
print(phone1.name)
phone1.fn()
print(phone1)